Integrando o Apache com o TOMCAT para que as páginas estáticas sejam executadas pelo Apache e as em JSP pelo contêiner TOMCAT, além do direcionamento das aplicações via APACHE, sendo o WebServer de acesso para as aplicações que estão no TOMCAT.
Vamos criar dois arquivos, um para configurarmos a comunicação com o TOMCAT e outro para configurações básicas do MOD_JK e definição de quais serão os "CONTEX" do TOMCAT que serão executados pelo APACHE.
Arquivo workers.properties:
# vi workers.properties
Adicionar o seguinte conteúdo ao arquivo criado:
#
# workers.properties
#
# In Unix, we use forward slashes:
ps=/
# list the workers by name
worker.list=tomcat1(nome configurado no arquivo server.xml do TOMCAT)
# ------------------------
# First tomcat server
# ------------------------
worker.tomcat1.type=ajp13
worker.tomcat1.host=localhost(nome do servidor onde temos o tomcat)
worker.tomcat1.port=8009
worker.tomcat1.lbfactor=50
worker.tomcat1.cachesize=10
worker.tomcat1.cache_timeout=500
worker.tomcat1.socket_keepalive=1
worker.tomcat1.socket_timeout=300
# Specify the size of the open connection cache.
#worker.tomcat1.cachesize
#
# Specifies the load balance factor when used with
# a load balancing worker.
# Note:
# ----> lbfactor must be > 0
# ----> Low lbfactor means less work done by the worker.
worker.tomcat1.lbfactor=100 //Definindo que toda a carga será usada apenas para um TOMCAT, é o nosso caso.
#
# END workers.properties
É um arquivo bem simples onde definimos o "nome" do TOMCAT para integração via MOD_JK, "worker.list=tomcat1" e demais parâmetros para configuração de conexão, onde devemos alterar de acordo com nosso ambiente.
[1] Comentário enviado por hugoeustaquio em 16/10/2007 - 08:54h
Parabéns, muito esclarecedor. Fica somente uma dica para os próximos leitores, usem o programa 'checkinstall' ao invéz de usar o comando 'make install', para gerar pacotes para a sua distribuição, assim fica mais fácil desinstalar depois, ou reinstalar caso você precise. Também é legal usar umas dicas para otimizar a compilação para o seu processador, caso você não tenha interesse em distribuir esses pacotes para outras pessoas. Você pode aprender a usar o checkinstall aqui: http://www.vivaolinux.com.br/dicas/verDica.php?codigo=8466
e pode otimizar a sua compilação inserindo as seguintes linhas no arquivo /etc/profile :
CFLAGS="-O2 -march=AtlonXP -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j2"
export CFLAGS CHOST CXXFLAGS MAKEOPTS
Note que você terá que substituir o 'AtlonXP' pelo identificador do seu processador, que poderá ser k6, k7, k8 (modelos da AMD) ou PentiumIII, PentiumIV, pentium-mmx para modelos da intel. Para saber informações sobre o seu processador leia o arquivo /proc/cpuinfo. Mais uma vez parabéns pelo artigo!
[2] Comentário enviado por brunolimaq em 16/10/2007 - 09:14h
Boa dica...
Mas vale lembrar que a recompilação do Apache, PHP e qualquer outro programa instalado apartir de um SOURCE é possivel sem o "checkinstall". Podemos usar o "Make Clean" antes de recompilar, bastando manter o mesmo diretório de instalação da compilação anterior, que pode ser obtida olhando a LOG do "Configure".
[3] Comentário enviado por ls_junior em 17/10/2007 - 07:07h
Lembrando que existe o módulo mod_proxy_ajp que é bem mais simples de configurar que o mod_jk.
Segue exemplo de configuração do mod_proxy_ajp para o manager do tomcat:
<Location /manager>
ProxyPass ajp://nome_do_host_tomcat:8009/manager/
Order allow,deny
allow from all
</Location>
Sim, é apenas isso. Além de carregar o módulo(proxy_ajp.load do Debian):
# Depends: proxy
LoadModule proxy_ajp_module /usr/lib/apache2/modules/mod_proxy_ajp.so
[4] Comentário enviado por andrade.ti em 17/10/2007 - 11:31h
Muito bom artigo. Eu estava pensando em escrever um sobre o mod_jk que a princípio é mais complicado do que o mod_proxy_ajp, mas é mais versátil, por não ser um simples redirecionamento mas sim uma integração verdadeira.
[5] Comentário enviado por brgsousa em 18/10/2007 - 10:29h
Muito bom seu tutorial,
Tava sentindo falta de um tutorial atualizado.
Queria atentar para as descrições de criação de links que estao erradas. O certo seria (Estou no Debian):
ln -s <origem> <destino>
Exemplo: ln -s apache-tomcat-6.0.14 apache-tomcat
[7] Comentário enviado por removido em 04/04/2008 - 14:50h
Ola quando tento utilizar o mod_jk.so com o comando ./configure --with-apxs=/usr/local/apache2/bin/apxs ele diz que o arquivo apxs nao existe tentei com o comando --with-apache=/usr/local/apache-tomcat-5-5.1.7. e deu que não era um diretorio válido do fonte do apache . Será que tem solução??
[8] Comentário enviado por hugoeustaquio em 04/04/2008 - 14:53h
Seguinte, alexmoreira:
Digite o comando "whereis apxs" e veja se ele aponta um caminho. Em caso positivo, utilize esse caminho no lugar de "/usr/local/apache2/bin/apxs". Em caso negativo verifique a instalação do apache. Pode ser que sua distribuição tenha colocado o "apxs" em outro pacote. Se isso acontecer, você terá que descobrir qual pacote é esse, fazendo uma busca no programa que gerencia os pacotes da sua distribuição.
[9] Comentário enviado por hugoeustaquio em 04/04/2008 - 14:57h
A propósito alexmoreira, você já tinha o apache (servidor web) instalado ou você procedeu a instalação através do código fonte? Se foi a partir do código fonte, verifique se a compilação procedeu corretamente.
[10] Comentário enviado por removido em 07/04/2008 - 11:41h
sim o apache está instalado no diretorio /etc/apache2 é o apache 2.2. como faço uma busca para descobrir mesmo se o apxs está instalado na minha máquina. Agradeço desde já.
[17] Comentário enviado por juniomundo em 16/05/2009 - 11:59h
Realizei a instalção do LAMP através do nautilus, gostaria de saber se tem esta possibilidade de integração.Porque quando eu dou o comando: gedit httpd.conf, consigo visualizar um arquivo em branco.